Lịch sử Thư_viện_(máy_tính)

Các khái niệm lập trình sớm nhất tương tự như các thư viện nhằm mục đích tách các định nghĩa dữ liệu khỏi việc thực hiện chương trình. JOVIAL đã đưa khái niệm "COMPOOL" (Nhóm truyền thông) được chú ý vào năm 1959, mặc dù nó đã áp dụng ý tưởng từ phần mềm hệ thống lớn SAGE. Theo các nguyên tắc khoa học máy tính về phân tách mối quan tâm và che giấu thông tin, "Mục đích của Comm Pool là cho phép chia sẻ Dữ liệu Hệ thống giữa nhiều chương trình bằng cách cung cấp mô tả dữ liệu tập trung."[2]

COBOL cũng bao gồm "các khả năng nguyên thủy cho một hệ thống thư viện" vào năm 1959,[3] nhưng Jean Sammet đã mô tả chúng là "cơ sở thư viện không đầy đủ" khi nhìn lại.[4]

Một đóng góp lớn khác cho khái niệm thư viện hiện đại xuất hiện dưới hình thức đổi mới chương trình con của FORTRAN. Các chương trình con FORTRAN có thể được biên dịch độc lập với nhau, nhưng trình biên dịch thiếu một trình liên kết. Vì vậy, trước khi giới thiệu các mô-đun trong Fortran-90, việc kiểm tra kiểu giữa các chương trình con FORTRAN[NB 1] là không thể.[5]

Cuối cùng, các nhà sử học của khái niệm nên nhớ Simula 67 có ảnh hưởng. Simula là ngôn ngữ lập trình hướng đối tượng đầu tiên và các lớp của nó gần giống với khái niệm hiện đại như được sử dụng trong Java, C++C#. Khái niệm lớp của Simula cũng là một tổ tiên của package trong Ada và mô-đun của Modula-2.[6] Ngay cả khi được phát triển ban đầu vào năm 1965, các lớp Simula có thể được bao gồm trong các tệp thư viện và được thêm vào lúc biên dịch.[7]